package com.xiaoshuidi.cloud.module.contract.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@Data
@Accessors(chain = true)
public class OrderFeesMeterVo {
    /**
     * 费用分类 cycle 周期性费用元/月 | once 一次性费用 一次元
     */
    @Schema(name = "费用分类 cycle 周期性费用元/月 | once 一次性费用 一次元")
    @NotNull(message = "费用分类不能为空")
    private String feeSort;

    /**
     * 费项id
     */
    @Schema(name = "费项id")
    @NotNull(message = "费项id不能为空")
    private Long feeId;

    /**
     * 费项名称
     */
    @Schema(name = "费项名称")
    @NotNull(message = "费项名称不能为空")
    private String feeName;

    /**
     * 费项价格
     */
    @Schema(name = "费项价格")
    @NotNull(message = "费项价格不能为空")
    private BigDecimal feeAmount;

    /**
     * 支付周期
     */
    private Integer paymentCycle;

    /**
     * 优惠类型("cycle", u"周期性优惠"),("once", u"一次性优惠")
     */
    private String discountSort;

    /**
     * 一次性优惠金额计入首期或末期账单("first", u"计入首期账单"),("last", u"计入末期账单")
     */
    private String discountOrder;

    /**
     * 优惠方式 rate 优惠比例 % | amount 优惠金额 元/月 | once 优惠金额 元
     */
    private String discountType;

    /**
     * 优惠值
     * */
    private BigDecimal discountValue = BigDecimal.ZERO;
    /**
     * 承担人
     */
    @Schema(name = "承担人")
    private String hold;

}
